package com.wskj.common.utils.tencent.bean;

import lombok.Data;

import java.io.Serializable;

/**
 * 音视频回调方法应答解析
 *
 * @author Gun
 * @date 2021/10/11
 */
@Data
public class VodApiRequest implements Serializable {

    private static final long serialVersionUID = 1L;

    /** 事件组 ID， 云端录制固定为3 */
    private Integer EventGroupId;

    /** 回调通知的事件类型 */
    private Integer EventType;

    /** 事件回调服务器向您的服务器发出回调请求的 Unix 时间戳，单位为毫秒 */
    private Long CallbackTs;

    /** 事件信息 */
    private EventInfo EventInfo;

    @Data
    public class EventInfo {
        /** 房间名（类型与客户端房间号类型一致）*/
        private String RoomId;
        /** 时间发生的 Unix 时间戳，单位为秒 */
        private Long EventTs;
        /** 录制机器人的用户 ID */
        private String UserId;
        /** 录制 ID，一次云端录制任务唯一的 ID */
        private String TaskId;

        /** 根据不同事件类型定义不同*/
        private Payload Payload;
    }

    @Data
    public class Payload {
        /** 0：代表录制模块启动成功
         1：代表录制模块启动失败*/
         private Integer Status;

        /**
         * 云录制视频信息
         */
        private TencentVod TencentVod;
    }

    @Data
    public class TencentVod{
        private String VideoUrl;
        private String CacheFile;
        private String MediaId;
        private Long EndTimeStamp;
        private String UserId;
        private String TrackType;
        private String FileId;
        private Long StartTimeStamp;
    }
}
